package com.sgcc.nfc.lock.domain.usecase

import com.sgcc.nfc.lock.core.network.NetworkResult
import com.sgcc.nfc.lock.domain.model.PagedList
import com.sgcc.nfc.lock.domain.model.UserProfile
import com.sgcc.nfc.lock.domain.repository.UserRepository
import javax.inject.Inject

class GetUsersUseCase @Inject constructor(
    private val repository: UserRepository
) {
    suspend operator fun invoke(
        page: Int,
        pageSize: Int,
        roleType: Int? = null,
        regionId: Long? = null,
        keyword: String? = null
    ): NetworkResult<PagedList<UserProfile>> =
        repository.getUsers(page, pageSize, roleType, regionId, keyword)
}
